from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
#实例化sqlalchemy对象
db=SQLAlchemy()
migrate = Migrate()
#单独封装函数
#工厂函数模式（惊醒项目的初始化加载）
#解耦性
def create_app():
    app = Flask(__name__)
    app.config.from_pyfile('settings.py',silent=True)


    #注册数据库
    db.init_app(app)
    #注册迁移对象
    migrate.init_app(app,db)

    #引入数据模型，一定要引入，不然迁移对象识别不到数据模型类
    #每个蓝图下的数据模型都要导入
    from app.blog import moudels
    from app.admin import moudels
    from app.blog import views as blog_views
    app.register_blueprint(blog_views.bp)
    return app